const map = new Map();
map.set("error", `${host}/media/test.mp3`)

function sendText() {
    var input = document.getElementById('user-input');
    var userInput = input.value;
    input.value = ''; // 清空输入框

    // 显示用户消息
    var userDiv = document.createElement('div');
    userDiv.className = 'response user-message';
    userDiv.textContent = userInput;
    document.getElementById('responses').appendChild(userDiv);

    // // 发送数据到后端
    // fetch('https://your-backend-url.com/api/messages', {
    //     method: 'POST',
    //     headers: {
    //         'Content-Type': 'application/json'
    //     },
    //     body: JSON.stringify({ message: userInput })
    // })
    //     .then(response => response.json())
    //     .then(data => {
    //         displayMessage(data.message);
    //     })
    //     .catch(error => console.error('Error:', error));
    const data = {
        "status": "success",
        "message": "洒几滴啊打舰炮大家阿松大就阿松大吉萨大道德经哦阿姐搜集到建瓯的时间多久啊搜集是的骄傲涉及到涉及到就送到就阿婆东京阿松大就阿" +
            "  洒几滴啊打舰炮大家阿松大就阿松大吉萨大道德经哦阿姐搜集到建瓯的时间多久啊搜集是的骄傲涉及到涉及到就送到就阿婆东京阿松大就阿洒几滴啊打舰炮大家阿松大就阿松大吉萨大道德经哦阿姐搜集到建瓯的时间多久啊搜集是的骄傲涉及到涉及到就送到就阿婆东京阿松大就阿松大建瓯撒娇大近段时间到时间大数据的西欧产品是考察s" +
            "洒几滴啊打舰炮大家阿松大就阿松大吉萨大道德经哦阿姐搜集到建瓯的时间多久啊搜集是的骄傲涉及到涉及到就送到就阿婆东京阿松大就阿" +
            "洒几滴啊打舰炮大家阿松大就阿松大吉萨大道德经哦阿姐搜集到建瓯的时间多久啊搜集是的骄傲涉及到涉及到就送到就阿婆东京阿松大就阿结束啦！！！"
    }

    // displayMessage("分析中 请稍后 ····")
    addThinking()

    $.ajax({
        url: host + "/api/test",
        type: "get",
        data: {
            stock_code: userInput,
        },
        success: function (res) {
            console.log(res.analysis)
            $.ajax({
                url: host + "/api/stock/tts",
                type: "post",
                data: {
                    text: res.analysis,
                },
                success: function (_) {
                    setTimeout(() => {
                        removeThinking()
                        console.log(_)
                        $("#audioPlayer").attr("src", `${host}/${_.url}`)
                        displayMessage(res.analysis, userInput);
                        map.set(userInput, `${host}/${_.url}`)
                    }, 3000)
                },
                error: function (_) {
                    setTimeout(() => {
                        removeThinking()
                        data.message = "请输入正确的股票代码，例如：000001"
                        displayMessage(data.message, "error");
                        $("#audioPlayer").attr("src", `${host}/media/test.mp3`)
                    }, 3000)
                }
            })

        },
        error: function (res) {
            setTimeout(() => {
                removeThinking()
                data.message = "请输入正确的股票代码，例如：000001"
                displayMessage(data.message, "error");
                $("#audioPlayer").attr("src", `${host}/media/test.mp3`)
            }, 3000)

        }
    })

}

let _thinkingIndicator
let _thinkingAnimation

function addThinking() {
    let botDiv = document.createElement('div');
    botDiv.className = 'response bot-message';
    botDiv.id = "thinking"
    document.getElementById('responses').appendChild(botDiv);

    _thinkingIndicator = document.createElement('div');
    _thinkingIndicator.textContent = '/';
    _thinkingIndicator.className = 'thinking-indicator';
    botDiv.appendChild(_thinkingIndicator);

    // 旋转动画
    var angle = 0;
    _thinkingAnimation = setInterval(() => {
        angle = (angle + 10) % 360;
        _thinkingIndicator.style.transform = `rotate(${angle}deg)`;
    }, 50);
}

function removeThinking() {
    clearInterval(_thinkingAnimation); // 停止思考动画
    _thinkingIndicator.remove(); // 移除思考指示器
    $("#thinking").remove()
}

function displayMessage(message, stockCode) {
    var botDiv = document.createElement('div');
    botDiv.className = 'response bot-message';
    document.getElementById('responses').appendChild(botDiv);
    //
    // var thinkingIndicator = document.createElement('div');
    // thinkingIndicator.textContent = '/';
    // thinkingIndicator.className = 'thinking-indicator';
    // botDiv.appendChild(thinkingIndicator);
    //
    // // 旋转动画
    // var angle = 0;
    // var thinkingAnimation = setInterval(() => {
    //     angle = (angle + 10) % 360;
    //     thinkingIndicator.style.transform = `rotate(${angle}deg)`;
    // }, 50);

    // 逐字显示消息
    setTimeout(() => {
        // clearInterval(thinkingAnimation); // 停止思考动画
        // thinkingIndicator.remove(); // 移除思考指示器

        var speakButton = document.createElement('img');
        speakButton.src = 'images/Speak.png'; // 使用 Speak.png 作为按钮
        speakButton.className = 'speak-button';
        speakButton.alt = 'Speak';
        // speakButton.onclick = function() {
        //     var msg = new SpeechSynthesisUtterance(message);
        //     window.speechSynthesis.speak(msg);
        // };
        // 初始化语音合成对象和播放状态
        var msg = new SpeechSynthesisUtterance(message);
        var isSpeaking = false; // 跟踪播放状态

        speakButton.onclick = function () {
            let url = map.get(stockCode)
            $("#audioPlayer").attr("src", url)
            if (isSpeaking) {
                $('#audioPlayer')[0].pause();
            } else {
                $('#audioPlayer')[0].play();
            }
            isSpeaking = !isSpeaking

            // if (!isSpeaking) {
            //     // 如果当前没有播放，开始播放语音
            //     window.speechSynthesis.speak(msg);
            //     isSpeaking = true; // 更新状态为正在播放
            //     msg.onend = function() {
            //         isSpeaking = false; // 当播放结束时更新状态
            //     };
            // } else {
            //     // 如果正在播放，停止播放
            //     window.speechSynthesis.cancel();
            //     isSpeaking = false; // 更新状态为未播放
            // }
        };

// 处理页面刷新事件，停止所有语音播放
        window.onbeforeunload = function () {
            window.speechSynthesis.cancel();
        };

        let index = 0;

        function typeMessage() {
            if (index < message.length) {
                botDiv.textContent += message[index++];
                setTimeout(typeMessage, 50); // 调整速度
            } else {
                botDiv.appendChild(speakButton);
            }
        }

        typeMessage();
    }, 50); // 延迟3秒后开始逐字显示消息
}

function backto_index() {
    location.href = `index1.html`;/*当前页面*/
    // window.location.reload();//刷新原页面
}